<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>TMFFStateParams</title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="TMFFStateParams";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../mmj/tmff/TMFFScheme.html" title="class in mmj.tmff"><span class="strong">Prev Class</span></a></li>
<li><a href="../../mmj/tmff/TMFFTwoColumnAlignment.html" title="class in mmj.tmff"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?mmj/tmff/TMFFStateParams.html" target="_top">Frames</a></li>
<li><a href="TMFFStateParams.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">mmj.tmff</div>
<h2 title="Class TMFFStateParams" class="title">Class TMFFStateParams</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>mmj.tmff.TMFFStateParams</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">TMFFStateParams</span>
extends java.lang.Object</pre>
<div class="block">TMFFStateParams holds the state data used throughout processing in the TMFF
 rendering code.
 <p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#currLineNbr">currLineNbr</a></strong></code>
<div class="block">currLineNbr is used internally and need not be set by programs calling
 TMFF.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#TMFFStateParams(java.lang.StringBuilder, int, int, int, int, boolean, int)">TMFFStateParams</a></strong>(java.lang.StringBuilder&nbsp;inSb,
               int&nbsp;inPrevColNbr,
               int&nbsp;inLeftmostColNbr,
               int&nbsp;inRightmostColNbr,
               int&nbsp;inTextColumns,
               boolean&nbsp;inLineWrapOn,
               int&nbsp;inCurrFormatNbr)</code>
<div class="block">Simple constructor for TMFFStateParams.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#TMFFStateParams(java.lang.StringBuilder, int, mmj.tmff.TMFFPreferences)">TMFFStateParams</a></strong>(java.lang.StringBuilder&nbsp;inSb,
               int&nbsp;inPrevColNbr,
               <a href="../../mmj/tmff/TMFFPreferences.html" title="class in mmj.tmff">TMFFPreferences</a>&nbsp;tmffPreferences)</code>
<div class="block">Standard constructor for TMFFStateParams.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#appendTokenAtGivenPosition(java.lang.String, int)">appendTokenAtGivenPosition</a></strong>(java.lang.String&nbsp;token,
                          int&nbsp;pos)</code>
<div class="block">Puts token to string buffer with at least one space following previous
 output character.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#getAvailLengthOnCurrLine()">getAvailLengthOnCurrLine</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#getLeftmostColNbr()">getLeftmostColNbr</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#newlineSB()">newlineSB</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#padSB(char, int)">padSB</a></strong>(char&nbsp;padChar,
     int&nbsp;padLength)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#padSBToGivenPosition(int)">padSBToGivenPosition</a></strong>(int&nbsp;pos)</code>
<div class="block">Outputs spaces to prepare for output of a token at a given column.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#setLeftmostColNbr(int)">setLeftmostColNbr</a></strong>(int&nbsp;leftmostColNbr)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#setLeftmostColNbr(int, int, int)">setLeftmostColNbr</a></strong>(int&nbsp;formulaLeftCol,
                 int&nbsp;useIndent,
                 int&nbsp;proofLevel)</code>
<div class="block">Updates TMFFSP leftmost column number using the TMFFPrefences
 formulaLeftCol and indent amount parameters plus the level number of the
 formula within the proof.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#setPrevColNbr(int)">setPrevColNbr</a></strong>(int&nbsp;prevColNbr)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/tmff/TMFFStateParams.html#setSB(java.lang.StringBuilder)">setSB</a></strong>(java.lang.StringBuilder&nbsp;sb)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="currLineNbr">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>currLineNbr</h4>
<pre>public&nbsp;int currLineNbr</pre>
<div class="block">currLineNbr is used internally and need not be set by programs calling
 TMFF. It refers to the line number within a formula (1, 2, etc.)</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="TMFFStateParams(java.lang.StringBuilder, int, int, int, int, boolean, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TMFFStateParams</h4>
<pre>public&nbsp;TMFFStateParams(java.lang.StringBuilder&nbsp;inSb,
               int&nbsp;inPrevColNbr,
               int&nbsp;inLeftmostColNbr,
               int&nbsp;inRightmostColNbr,
               int&nbsp;inTextColumns,
               boolean&nbsp;inLineWrapOn,
               int&nbsp;inCurrFormatNbr)</pre>
<div class="block">Simple constructor for TMFFStateParams.
 <p>
 You are responsible for setting reasonable values. No validation is
 performed!
 <p>
 Note that output of the first/next token will be at position
 rightmostColNbr + 1 because a space character is inserted PRIOR to each
 output token. That means that if <code>inPrevColNbr</code> is set to <code>4</code>
 then there should be a line containing 3 characters already loaded at the
 end of the input StringBuilder <code>inSb</code>!
 <p>
 
 <pre>
     Sample call w/empty StringBuilder:
 
     TMFFStateParams tmffSP =
         new TMFFStateParams(new StringBuilder(80),
                             0,          //inPrevColNbr,
                             20,         //inLeftmostColNbr,
                             79,         //inRightmostColNbr,
                             80,         //inTextColumns,
                             false       //inLineWrapOn,
                             0,          //not used now);
 </pre></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inSb</code> - is the input StringBuilder. All output is appended to this
            StringBuilder. It must be pre-initialized.</dd><dd><code>inPrevColNbr</code> - is the column number on the current print line of the
            most recently output character. Set it to 0 if nothing has
            been written to the current line, or to the previous
            character's position (1, 2, etc.)</dd><dd><code>inLeftmostColNbr</code> - is the logical left margin for formulas.</dd><dd><code>inRightmostColNbr</code> - is the logical right margin for output formulas,
            regardless of whether <code>inLineWrapOn</code> is true. For
            example, to format formulas through column 79 of the
            screen/page, set <code>inRightmostColNbr</code> to <code>79</code>.
            Note: this number does not include linefeed/carriage return,
            but only the characters displayed!</dd><dd><code>inLineWrapOn</code> - is a flag to turn On/Off line wrapping. If set to On
            then Newline characters (linefeed/carriage return sequences)
            are not used inside a formula that spans multiple lines.
            Instead, space characters are used to pad out line endings
            thru the specified <code>inRightmostColNbr</code> column. Note that
            a newline will follow the end of a formula, for example on the
            mmj2 Proof Assistant screen. The purpose of this feature is to
            facilitate copy/pasting, especially into text editors that
            burp when a newline is encountered (Metamath and mmj2
            generally treat Newlines as whitespace except between formulas
            on the Proof Assistant GUI screen.)</dd><dd><code>inTextColumns</code> - - number of columns on a line.</dd><dd><code>inCurrFormatNbr</code> - is the format number in use in TMFFPreferences.
            Not used right now, but stored here to simplify a later
            enhancement (possible) to use TMFFSchemes assigned at the
            Syntax Axiom level.</dd></dl>
</li>
</ul>
<a name="TMFFStateParams(java.lang.StringBuilder, int, mmj.tmff.TMFFPreferences)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TMFFStateParams</h4>
<pre>public&nbsp;TMFFStateParams(java.lang.StringBuilder&nbsp;inSb,
               int&nbsp;inPrevColNbr,
               <a href="../../mmj/tmff/TMFFPreferences.html" title="class in mmj.tmff">TMFFPreferences</a>&nbsp;tmffPreferences)</pre>
<div class="block">Standard constructor for TMFFStateParams.
 <p>
 You are responsible for setting reasonable values. No validation is
 performed. See previous constructor for additional information.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inSb</code> - is the input StringBuilder. All output is appended to this
            StringBuilder. It must be pre-initialized.</dd><dd><code>inPrevColNbr</code> - is the column number on the current print line of the
            most recently output character. Set it to 0 if nothing has
            been written to the current line, or to the previous
            character's position (1, 2, etc.)</dd><dd><code>tmffPreferences</code> - - current TMFFPreferences.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="appendTokenAtGivenPosition(java.lang.String, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendTokenAtGivenPosition</h4>
<pre>public&nbsp;int&nbsp;appendTokenAtGivenPosition(java.lang.String&nbsp;token,
                             int&nbsp;pos)</pre>
<div class="block">Puts token to string buffer with at least one space following previous
 output character.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>token</code> - the token to append</dd><dd><code>pos</code> - the screen column at which to draw the token</dd>
<dt><span class="strong">Returns:</span></dt><dd>-1 if error, else 0.</dd></dl>
</li>
</ul>
<a name="padSBToGivenPosition(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>padSBToGivenPosition</h4>
<pre>public&nbsp;void&nbsp;padSBToGivenPosition(int&nbsp;pos)</pre>
<div class="block">Outputs spaces to prepare for output of a token at a given column. If
 necessary performs a line break using either NewLine, or extra spaces
 when in LineWrapOn mode.
 <p>
 Pads *thru* the given position! I.E. if you say pad to column 7, then
 column 7 ends up containing a space.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pos</code> - the screen column at which to draw the token</dd></dl>
</li>
</ul>
<a name="setSB(java.lang.StringBuilder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSB</h4>
<pre>public&nbsp;void&nbsp;setSB(java.lang.StringBuilder&nbsp;sb)</pre>
</li>
</ul>
<a name="setPrevColNbr(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPrevColNbr</h4>
<pre>public&nbsp;void&nbsp;setPrevColNbr(int&nbsp;prevColNbr)</pre>
</li>
</ul>
<a name="setLeftmostColNbr(int, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLeftmostColNbr</h4>
<pre>public&nbsp;void&nbsp;setLeftmostColNbr(int&nbsp;formulaLeftCol,
                     int&nbsp;useIndent,
                     int&nbsp;proofLevel)</pre>
<div class="block">Updates TMFFSP leftmost column number using the TMFFPrefences
 formulaLeftCol and indent amount parameters plus the level number of the
 formula within the proof.
 <p>
 If indentation is used, based on variances between different proof steps,
 then this routine needs to be invoked every time, just before calling
 tmffPreferences.renderFormula(). That is because the
 TMFFPreferences.formulaLeftCol is not updated and must be used to reset
 the value of TMFFSP.leftmostColNbr after each use.
 <p>
 
 <pre>
 setLeftmostColNbr(formulaLeftCol + (useIndent * proofLevel));
 </pre>
 
 NOTE: If the resulting leftmost column number is not less than the
 rightmost column number, the indentation is turned off:
 
 <pre>
 setLeftmostColNbr(formulaLeftCol);
 </pre></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>formulaLeftCol</code> - from TMFFPreferences or other.</dd><dd><code>useIndent</code> - indent column amount per proof step level</dd><dd><code>proofLevel</code> - step formula level number within proof</dd></dl>
</li>
</ul>
<a name="setLeftmostColNbr(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLeftmostColNbr</h4>
<pre>public&nbsp;void&nbsp;setLeftmostColNbr(int&nbsp;leftmostColNbr)</pre>
</li>
</ul>
<a name="getLeftmostColNbr()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLeftmostColNbr</h4>
<pre>public&nbsp;int&nbsp;getLeftmostColNbr()</pre>
</li>
</ul>
<a name="newlineSB()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newlineSB</h4>
<pre>public&nbsp;void&nbsp;newlineSB()</pre>
</li>
</ul>
<a name="padSB(char, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>padSB</h4>
<pre>public&nbsp;void&nbsp;padSB(char&nbsp;padChar,
         int&nbsp;padLength)</pre>
</li>
</ul>
<a name="getAvailLengthOnCurrLine()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getAvailLengthOnCurrLine</h4>
<pre>public&nbsp;int&nbsp;getAvailLengthOnCurrLine()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../mmj/tmff/TMFFScheme.html" title="class in mmj.tmff"><span class="strong">Prev Class</span></a></li>
<li><a href="../../mmj/tmff/TMFFTwoColumnAlignment.html" title="class in mmj.tmff"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?mmj/tmff/TMFFStateParams.html" target="_top">Frames</a></li>
<li><a href="TMFFStateParams.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
